import Caption from '~/components/text/caption'
import { Image } from '~/components/media'

#### A Deployment for Each Push

ZEIT Now for GitLab will **deploy each push by default**. This includes pushes and pull requests made to branches. This allows those working within the project to preview the changes made before they are pushed to production.

With each new push, if Now is already building a previous commit, the current build will be canceled to build the most recent commit so that you always have the latest changes deployed as quickly as possible.

#### Updating the Production Domain

If [Custom Domains](/docs/v2/custom-domains) are set from a project domains dashboard, pushes and merges to the [default branch](https://docs.gitlab.com/ee/user/project/repository/branches/#default-branch) (commonly "master") will be made live to those domains with the latest deployment made with a push.

If you decide to revert a commit that has already been deployed to production, the previous [Production Deployment](/docs/v2/platform/deployments#production) from a commit will automatically be made available at the [Custom Domain](/docs/v2/custom-domains) instantly; providing you with instant rollbacks.

#### Preview URLs for Each Merge Request

The latest push to any [merge request](https://docs.gitlab.com/ee/user/project/merge_requests/) will automatically be made available at a unique preview URL based on the project name, branch, and team or username. These URLs will be provided through a comment on each merge request.

<Image
  src={`${process.env.ASSETS}/guides/getting-started-with-now-for-gitlab/merge-request-alias.png`}
  width={2080/2.5}
  height={1392/2.5}
/>
<Caption style={{marginTop: '-40px'}}>A preview URL created from a merge request.</Caption>
